{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "id": "dSwpGifpB7W9"
      },
      "outputs": [],
      "source": [
        "import tensorflow as tf\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "import pandas as pd\n",
        "import tensorflow.keras as K\n",
        "from tensorflow.keras.layers import Dense"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "#Generate a random data\n",
        "np.random.seed(0)\n",
        "area = 2.5 * np.random.randn(100) + 25\n",
        "price = 25 * area + 5 + np.random.randint(20,50, size = len(area))\n",
        "data = np.array([area, price])\n",
        "data = pd.DataFrame(data = data.T, columns=['area','price'])\n",
        "plt.scatter(data['area'], data['price'])\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 265
        },
        "id": "t5PZJH8iCFma",
        "outputId": "b9a83c8d-1d29-4f91-cbcc-e642a1d5b17c"
      },
      "execution_count": 2,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "data = (data - data.min()) / (data.max() - data.min())  #Normalize"
      ],
      "metadata": {
        "id": "_1MDPuLTW2Wy"
      },
      "execution_count": 3,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "model = K.Sequential([\n",
        "                      #normalizer,\n",
        "                      Dense(1, input_shape = [1,], activation=None)\n",
        "])\n",
        "model.summary()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "vfy1amXuCHBD",
        "outputId": "47165844-9e3b-481a-d156-5346961f8688"
      },
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Model: \"sequential\"\n",
            "_________________________________________________________________\n",
            " Layer (type)                Output Shape              Param #   \n",
            "=================================================================\n",
            " dense (Dense)               (None, 1)                 2         \n",
            "                                                                 \n",
            "=================================================================\n",
            "Total params: 2\n",
            "Trainable params: 2\n",
            "Non-trainable params: 0\n",
            "_________________________________________________________________\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "model.compile(loss='mean_squared_error', optimizer='sgd')"
      ],
      "metadata": {
        "id": "lPF_CS2qCNjI"
      },
      "execution_count": 5,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "model.fit(x=data['area'],y=data['price'], epochs=100, batch_size=32, verbose=1, validation_split=0.2)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "AFVBcartVIrg",
        "outputId": "176133d4-76e7-4ef7-845b-e066c37713fc"
      },
      "execution_count": 6,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/100\n",
            "3/3 [==============================] - 2s 150ms/step - loss: 0.0223 - val_loss: 0.0224\n",
            "Epoch 2/100\n",
            "3/3 [==============================] - 0s 61ms/step - loss: 0.0197 - val_loss: 0.0196\n",
            "Epoch 3/100\n",
            "3/3 [==============================] - 0s 40ms/step - loss: 0.0174 - val_loss: 0.0173\n",
            "Epoch 4/100\n",
            "3/3 [==============================] - 0s 20ms/step - loss: 0.0155 - val_loss: 0.0153\n",
            "Epoch 5/100\n",
            "3/3 [==============================] - 0s 25ms/step - loss: 0.0138 - val_loss: 0.0136\n",
            "Epoch 6/100\n",
            "3/3 [==============================] - 0s 22ms/step - loss: 0.0124 - val_loss: 0.0122\n",
            "Epoch 7/100\n",
            "3/3 [==============================] - 0s 27ms/step - loss: 0.0113 - val_loss: 0.0110\n",
            "Epoch 8/100\n",
            "3/3 [==============================] - 0s 43ms/step - loss: 0.0102 - val_loss: 0.0099\n",
            "Epoch 9/100\n",
            "3/3 [==============================] - 0s 46ms/step - loss: 0.0094 - val_loss: 0.0090\n",
            "Epoch 10/100\n",
            "3/3 [==============================] - 0s 28ms/step - loss: 0.0087 - val_loss: 0.0083\n",
            "Epoch 11/100\n",
            "3/3 [==============================] - 0s 68ms/step - loss: 0.0080 - val_loss: 0.0076\n",
            "Epoch 12/100\n",
            "3/3 [==============================] - 0s 34ms/step - loss: 0.0075 - val_loss: 0.0070\n",
            "Epoch 13/100\n",
            "3/3 [==============================] - 0s 33ms/step - loss: 0.0070 - val_loss: 0.0065\n",
            "Epoch 14/100\n",
            "3/3 [==============================] - 0s 29ms/step - loss: 0.0066 - val_loss: 0.0060\n",
            "Epoch 15/100\n",
            "3/3 [==============================] - 0s 49ms/step - loss: 0.0062 - val_loss: 0.0056\n",
            "Epoch 16/100\n",
            "3/3 [==============================] - 0s 42ms/step - loss: 0.0059 - val_loss: 0.0053\n",
            "Epoch 17/100\n",
            "3/3 [==============================] - 0s 28ms/step - loss: 0.0057 - val_loss: 0.0050\n",
            "Epoch 18/100\n",
            "3/3 [==============================] - 0s 31ms/step - loss: 0.0055 - val_loss: 0.0048\n",
            "Epoch 19/100\n",
            "3/3 [==============================] - 0s 28ms/step - loss: 0.0053 - val_loss: 0.0045\n",
            "Epoch 20/100\n",
            "3/3 [==============================] - 0s 21ms/step - loss: 0.0051 - val_loss: 0.0044\n",
            "Epoch 21/100\n",
            "3/3 [==============================] - 0s 19ms/step - loss: 0.0050 - val_loss: 0.0042\n",
            "Epoch 22/100\n",
            "3/3 [==============================] - 0s 32ms/step - loss: 0.0048 - val_loss: 0.0041\n",
            "Epoch 23/100\n",
            "3/3 [==============================] - 0s 43ms/step - loss: 0.0047 - val_loss: 0.0040\n",
            "Epoch 24/100\n",
            "3/3 [==============================] - 0s 46ms/step - loss: 0.0047 - val_loss: 0.0038\n",
            "Epoch 25/100\n",
            "3/3 [==============================] - 0s 32ms/step - loss: 0.0046 - val_loss: 0.0037\n",
            "Epoch 26/100\n",
            "3/3 [==============================] - 0s 25ms/step - loss: 0.0045 - val_loss: 0.0036\n",
            "Epoch 27/100\n",
            "3/3 [==============================] - 0s 20ms/step - loss: 0.0044 - val_loss: 0.0036\n",
            "Epoch 28/100\n",
            "3/3 [==============================] - 0s 21ms/step - loss: 0.0044 - val_loss: 0.0035\n",
            "Epoch 29/100\n",
            "3/3 [==============================] - 0s 25ms/step - loss: 0.0043 - val_loss: 0.0034\n",
            "Epoch 30/100\n",
            "3/3 [==============================] - 0s 21ms/step - loss: 0.0043 - val_loss: 0.0034\n",
            "Epoch 31/100\n",
            "3/3 [==============================] - 0s 26ms/step - loss: 0.0042 - val_loss: 0.0033\n",
            "Epoch 32/100\n",
            "3/3 [==============================] - 0s 25ms/step - loss: 0.0042 - val_loss: 0.0033\n",
            "Epoch 33/100\n",
            "3/3 [==============================] - 0s 25ms/step - loss: 0.0041 - val_loss: 0.0032\n",
            "Epoch 34/100\n",
            "3/3 [==============================] - 0s 47ms/step - loss: 0.0041 - val_loss: 0.0032\n",
            "Epoch 35/100\n",
            "3/3 [==============================] - 0s 58ms/step - loss: 0.0041 - val_loss: 0.0032\n",
            "Epoch 36/100\n",
            "3/3 [==============================] - 0s 40ms/step - loss: 0.0041 - val_loss: 0.0031\n",
            "Epoch 37/100\n",
            "3/3 [==============================] - 0s 61ms/step - loss: 0.0040 - val_loss: 0.0031\n",
            "Epoch 38/100\n",
            "3/3 [==============================] - 0s 48ms/step - loss: 0.0040 - val_loss: 0.0031\n",
            "Epoch 39/100\n",
            "3/3 [==============================] - 0s 27ms/step - loss: 0.0040 - val_loss: 0.0030\n",
            "Epoch 40/100\n",
            "3/3 [==============================] - 0s 24ms/step - loss: 0.0040 - val_loss: 0.0030\n",
            "Epoch 41/100\n",
            "3/3 [==============================] - 0s 44ms/step - loss: 0.0039 - val_loss: 0.0030\n",
            "Epoch 42/100\n",
            "3/3 [==============================] - 0s 44ms/step - loss: 0.0039 - val_loss: 0.0030\n",
            "Epoch 43/100\n",
            "3/3 [==============================] - 0s 85ms/step - loss: 0.0039 - val_loss: 0.0029\n",
            "Epoch 44/100\n",
            "3/3 [==============================] - 0s 32ms/step - loss: 0.0039 - val_loss: 0.0029\n",
            "Epoch 45/100\n",
            "3/3 [==============================] - 0s 35ms/step - loss: 0.0039 - val_loss: 0.0029\n",
            "Epoch 46/100\n",
            "3/3 [==============================] - 0s 39ms/step - loss: 0.0039 - val_loss: 0.0029\n",
            "Epoch 47/100\n",
            "3/3 [==============================] - 0s 75ms/step - loss: 0.0038 - val_loss: 0.0029\n",
            "Epoch 48/100\n",
            "3/3 [==============================] - 0s 37ms/step - loss: 0.0038 - val_loss: 0.0029\n",
            "Epoch 49/100\n",
            "3/3 [==============================] - 0s 29ms/step - loss: 0.0038 - val_loss: 0.0029\n",
            "Epoch 50/100\n",
            "3/3 [==============================] - 0s 28ms/step - loss: 0.0038 - val_loss: 0.0028\n",
            "Epoch 51/100\n",
            "3/3 [==============================] - 0s 44ms/step - loss: 0.0038 - val_loss: 0.0028\n",
            "Epoch 52/100\n",
            "3/3 [==============================] - 0s 62ms/step - loss: 0.0038 - val_loss: 0.0028\n",
            "Epoch 53/100\n",
            "3/3 [==============================] - 0s 71ms/step - loss: 0.0038 - val_loss: 0.0028\n",
            "Epoch 54/100\n",
            "3/3 [==============================] - 0s 27ms/step - loss: 0.0037 - val_loss: 0.0028\n",
            "Epoch 55/100\n",
            "3/3 [==============================] - 0s 27ms/step - loss: 0.0037 - val_loss: 0.0028\n",
            "Epoch 56/100\n",
            "3/3 [==============================] - 0s 26ms/step - loss: 0.0037 - val_loss: 0.0028\n",
            "Epoch 57/100\n",
            "3/3 [==============================] - 0s 40ms/step - loss: 0.0037 - val_loss: 0.0028\n",
            "Epoch 58/100\n",
            "3/3 [==============================] - 0s 29ms/step - loss: 0.0037 - val_loss: 0.0028\n",
            "Epoch 59/100\n",
            "3/3 [==============================] - 0s 16ms/step - loss: 0.0037 - val_loss: 0.0027\n",
            "Epoch 60/100\n",
            "3/3 [==============================] - 0s 16ms/step - loss: 0.0037 - val_loss: 0.0027\n",
            "Epoch 61/100\n",
            "3/3 [==============================] - 0s 17ms/step - loss: 0.0037 - val_loss: 0.0027\n",
            "Epoch 62/100\n",
            "3/3 [==============================] - 0s 18ms/step - loss: 0.0037 - val_loss: 0.0027\n",
            "Epoch 63/100\n",
            "3/3 [==============================] - 0s 18ms/step - loss: 0.0036 - val_loss: 0.0027\n",
            "Epoch 64/100\n",
            "3/3 [==============================] - 0s 17ms/step - loss: 0.0036 - val_loss: 0.0027\n",
            "Epoch 65/100\n",
            "3/3 [==============================] - 0s 17ms/step - loss: 0.0036 - val_loss: 0.0027\n",
            "Epoch 66/100\n",
            "3/3 [==============================] - 0s 17ms/step - loss: 0.0036 - val_loss: 0.0027\n",
            "Epoch 67/100\n",
            "3/3 [==============================] - 0s 28ms/step - loss: 0.0036 - val_loss: 0.0027\n",
            "Epoch 68/100\n",
            "3/3 [==============================] - 0s 21ms/step - loss: 0.0036 - val_loss: 0.0027\n",
            "Epoch 69/100\n",
            "3/3 [==============================] - 0s 18ms/step - loss: 0.0036 - val_loss: 0.0026\n",
            "Epoch 70/100\n",
            "3/3 [==============================] - 0s 18ms/step - loss: 0.0036 - val_loss: 0.0026\n",
            "Epoch 71/100\n",
            "3/3 [==============================] - 0s 16ms/step - loss: 0.0036 - val_loss: 0.0026\n",
            "Epoch 72/100\n",
            "3/3 [==============================] - 0s 16ms/step - loss: 0.0035 - val_loss: 0.0026\n",
            "Epoch 73/100\n",
            "3/3 [==============================] - 0s 16ms/step - loss: 0.0035 - val_loss: 0.0026\n",
            "Epoch 74/100\n",
            "3/3 [==============================] - 0s 18ms/step - loss: 0.0035 - val_loss: 0.0026\n",
            "Epoch 75/100\n",
            "3/3 [==============================] - 0s 19ms/step - loss: 0.0035 - val_loss: 0.0026\n",
            "Epoch 76/100\n",
            "3/3 [==============================] - 0s 16ms/step - loss: 0.0035 - val_loss: 0.0026\n",
            "Epoch 77/100\n",
            "3/3 [==============================] - 0s 17ms/step - loss: 0.0035 - val_loss: 0.0026\n",
            "Epoch 78/100\n",
            "3/3 [==============================] - 0s 19ms/step - loss: 0.0035 - val_loss: 0.0026\n",
            "Epoch 79/100\n",
            "3/3 [==============================] - 0s 23ms/step - loss: 0.0035 - val_loss: 0.0026\n",
            "Epoch 80/100\n",
            "3/3 [==============================] - 0s 19ms/step - loss: 0.0035 - val_loss: 0.0025\n",
            "Epoch 81/100\n",
            "3/3 [==============================] - 0s 18ms/step - loss: 0.0034 - val_loss: 0.0025\n",
            "Epoch 82/100\n",
            "3/3 [==============================] - 0s 17ms/step - loss: 0.0034 - val_loss: 0.0025\n",
            "Epoch 83/100\n",
            "3/3 [==============================] - 0s 19ms/step - loss: 0.0034 - val_loss: 0.0025\n",
            "Epoch 84/100\n",
            "3/3 [==============================] - 0s 18ms/step - loss: 0.0034 - val_loss: 0.0025\n",
            "Epoch 85/100\n",
            "3/3 [==============================] - 0s 16ms/step - loss: 0.0034 - val_loss: 0.0025\n",
            "Epoch 86/100\n",
            "3/3 [==============================] - 0s 16ms/step - loss: 0.0034 - val_loss: 0.0025\n",
            "Epoch 87/100\n",
            "3/3 [==============================] - 0s 17ms/step - loss: 0.0034 - val_loss: 0.0025\n",
            "Epoch 88/100\n",
            "3/3 [==============================] - 0s 14ms/step - loss: 0.0034 - val_loss: 0.0025\n",
            "Epoch 89/100\n",
            "3/3 [==============================] - 0s 15ms/step - loss: 0.0034 - val_loss: 0.0025\n",
            "Epoch 90/100\n",
            "3/3 [==============================] - 0s 15ms/step - loss: 0.0033 - val_loss: 0.0025\n",
            "Epoch 91/100\n",
            "3/3 [==============================] - 0s 14ms/step - loss: 0.0033 - val_loss: 0.0025\n",
            "Epoch 92/100\n",
            "3/3 [==============================] - 0s 15ms/step - loss: 0.0033 - val_loss: 0.0024\n",
            "Epoch 93/100\n",
            "3/3 [==============================] - 0s 14ms/step - loss: 0.0033 - val_loss: 0.0024\n",
            "Epoch 94/100\n",
            "3/3 [==============================] - 0s 14ms/step - loss: 0.0033 - val_loss: 0.0024\n",
            "Epoch 95/100\n",
            "3/3 [==============================] - 0s 14ms/step - loss: 0.0033 - val_loss: 0.0024\n",
            "Epoch 96/100\n",
            "3/3 [==============================] - 0s 13ms/step - loss: 0.0033 - val_loss: 0.0024\n",
            "Epoch 97/100\n",
            "3/3 [==============================] - 0s 13ms/step - loss: 0.0033 - val_loss: 0.0024\n",
            "Epoch 98/100\n",
            "3/3 [==============================] - 0s 14ms/step - loss: 0.0033 - val_loss: 0.0024\n",
            "Epoch 99/100\n",
            "3/3 [==============================] - 0s 19ms/step - loss: 0.0033 - val_loss: 0.0024\n",
            "Epoch 100/100\n",
            "3/3 [==============================] - 0s 14ms/step - loss: 0.0032 - val_loss: 0.0024\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<keras.callbacks.History at 0x7f8e46138cd0>"
            ]
          },
          "metadata": {},
          "execution_count": 6
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "y_pred = model.predict(data['area'])"
      ],
      "metadata": {
        "id": "jE2w6574Y0pD"
      },
      "execution_count": 7,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "plt.plot(data['area'], y_pred, color='red',label=\"Predicted Price\")\n",
        "plt.scatter(data['area'], data['price'], label=\"Training Data\")\n",
        "plt.xlabel(\"Area\")\n",
        "plt.ylabel(\"Price\")\n",
        "plt.legend()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 296
        },
        "id": "LDFVIsvYCRS4",
        "outputId": "c4501262-c8aa-4a9e-a659-87c34e2c09ad"
      },
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.legend.Legend at 0x7f8e41edff90>"
            ]
          },
          "metadata": {},
          "execution_count": 8
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEGCAYAAABo25JHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3de3xU9Z3/8deHECAIJSh2q0EFW4oit0C8NXh3AalFqtKW1VpbrdpKu0UXxW2r1LoFy8Pa1bVVqv1Jr95K80AupVVgsbC0RoPcFKVKNdEqokEqAZLw/f1xZsJczpnMkDkzycz7+XjwIPOdM2e+x+D5nO/t8zXnHCIiUry65bsCIiKSXwoEIiJFToFARKTIKRCIiBQ5BQIRkSLXPd8VyNSAAQPcoEGD8l0NEZEu5bnnnnvXOXek33tdLhAMGjSI2trafFdDRKRLMbO/B72nriERkSKnQCAiUuQUCEREilyXGyPw09zcTH19PXv37s13VSQDvXr1YuDAgZSWlua7KiJFrSACQX19PX379mXQoEGYWb6rI2lwzrFz507q6+sZPHhwvqsjUtRC6xoys5+b2TtmtingfTOze8xsm5ltMLMxh/pde/fu5YgjjlAQ6ELMjCOOOEKtOJEUauoaqJ67gsGzllA9dwU1dQ2hfE+YYwQPAxNTvH8BMCTy5xrgpx35MgWBrke/M5FgNXUN3LJwIw2NTTigobGJWxZuDCUYhBYInHOrgfdSHHIR8AvnWQeUm9lRYdVHRKQrmbd8K03NrXFlTc2tzFu+Nevflc9ZQxXAGzGv6yNlSczsGjOrNbPaHTt25KRymSopKWH06NEMHz6cqVOnsmfPnkM+15VXXskTTzwBwNVXX82WLVsCj121ahVr167N+DsGDRrEu+++61s+YsQIRo4cyfjx4/nHP/7h+/lJkybR2NiY8feKSHrebGzKqLwjusT0UefcfOdclXOu6sgjfVdI511ZWRnr169n06ZN9OjRg/vvvz/u/ZaWlkM674MPPsiwYcMC3z/UQJDKypUr2bBhA1VVVfzgBz+Ie885x4EDB1i6dCnl5eVZ/V4ROejo8rKMyjsin4GgATgm5vXASFmXd8YZZ7Bt2zZWrVrFGWecweTJkxk2bBitra3MnDmTk08+mZEjR/LAAw8A3s11+vTpDB06lPPPP5933nmn7Vxnn312W0qNP/zhD4wZM4ZRo0Zx3nnnsX37du6//37uvvtuRo8ezTPPPMOOHTu45JJLOPnkkzn55JNZs2YNADt37mT8+PGcdNJJXH311aSzM92ZZ57Jtm3b2L59O0OHDuWKK65g+PDhvPHGG3Etil/84heMHDmSUaNG8cUvfhEgsB4ikp6ZE4ZSVloSV1ZWWsLMCUOz/l35nD66CJhuZo8ApwK7nHNvdfis3/oWrF/f4dPEGT0afvzjtA5taWlh2bJlTJzojZM///zzbNq0icGDBzN//nz69evHs88+y759+6iurmb8+PHU1dWxdetWtmzZwttvv82wYcP4yle+EnfeHTt28NWvfpXVq1czePBg3nvvPQ4//HCuu+46+vTpw3/8x38A8G//9m/MmDGDcePG8frrrzNhwgRefPFFvve97zFu3DhuvfVWlixZwkMPPdTutSxevJgRI0YA8Morr7BgwQJOO+20uGM2b97MHXfcwdq1axkwYADvvecNC/37v/+7bz1EJD1TKr2e8nnLt/JmYxNHl5cxc8LQtvJsCi0QmNlvgbOBAWZWD9wGlAI45+4HlgKTgG3AHuDLYdUlF5qamhg9ejTgtQiuuuoq1q5dyymnnNI2T/6Pf/wjGzZsaOv/37VrF6+88gqrV69m2rRplJSUcPTRR3PuuecmnX/dunWceeaZbec6/PDDfevx1FNPxY0pfPDBB/zzn/9k9erVLFy4EIBPf/rT9O/fP/BazjnnHEpKShg5ciR33HEHjY2NHHfccUlBAGDFihVMnTqVAQMGxNUrqB59+vQJ/F4RiTelsiKUG3+i0AKBc25aO+874Pqsf3GaT+7ZFh0jSHTYYYe1/eyc495772XChAlxxyxdujRr9Thw4ADr1q2jV69eh3yOlStXtt3YARobG+OuI1f1EJHc6BKDxYViwoQJ/PSnP6W5uRmAl19+mQ8//JAzzzyTRx99lNbWVt566y1WrlyZ9NnTTjuN1atX89prrwG0dcH07duX3bt3tx03fvx47r333rbX0eB05pln8pvf/AaAZcuW8f7772flms4991wef/xxdu7cGVevoHqISObCXlimQJBDV199NcOGDWPMmDEMHz6ca6+9lpaWFj772c8yZMgQhg0bxhVXXMHpp5+e9NkjjzyS+fPnc/HFFzNq1Cg+//nPA/CZz3yG3//+922Dxffccw+1tbWMHDmSYcOGtc1euu2221i9ejUnnXQSCxcu5Nhjj83KNZ100kl8+9vf5qyzzmLUqFHccMMNAIH1EJHM5GJhmaUze6Qzqaqqcokb07z44ouceOKJeaqRdIR+dyKpVc9dQYPP2oGK8jLWzEoeTwxiZs8556r83lOLQESkE8vFwjIFAhGRTiwXC8sUCEREOrFcLCwriP0IREQKVS4WlikQiIh0cmEvLFMgEBE5RDV1DTlJARE2jRFkwc6dOxk9ejSjR4/mYx/7GBUVFW2v9+/fn/KztbW1fPOb32z3Oz71qU9lpa6rVq2iX79+VFZWMnToUM4880wWL16c1ueyneVUpCvL5cYxYVOLIAuOOOKItpWzs2fPjksCB14iuu7d/f9TV1VVUVXlO7U3TjZvwmeccUbbzX/9+vVMmTKFsrIyzjvvvMDPrFq1ij59+mQtIIl0dak2julqrYKibBHkYh/QK6+8kuuuu45TTz2Vm266ib/+9a+cfvrpVFZW8qlPfYqtW71dhlatWsWFF14IeEHkK1/5CmeffTbHH38899xzT9v5osnaVq1axdlnn82ll17KCSecwGWXXdaWUnrp0qWccMIJjB07lm9+85tt501l9OjR3HrrrfzP//wPAE8++SSnnnoqlZWVnH/++bz99tu+6a79jhMpJrncOCZsRdciiDbnopE82pwDsh7F6+vrWbt2LSUlJXzwwQc888wzdO/enaeeeor//M//5He/+13SZ1566SVWrlzJ7t27GTp0KF/72tcoLS2NO6auro7Nmzdz9NFHU11dzZo1a6iqquLaa69tS1M9bVrKnH9xxowZw7x58wAYN24c69atw8x48MEH+eEPf8hdd92VlO76/fff9z1OpFgcXV7mu+I3jI1jwlZ0gSCXzbmpU6dSUuLN/921axdf+tKXeOWVVzCztsRziT796U/Ts2dPevbsyUc/+lHefvttBg4cGHfMKaec0lY2evRotm/fTp8+fTj++OPb0lRPmzaN+fPnp1XP2DQj9fX1fP7zn+ett95i//79bedLlO5xIoVq5oShcQ+VEN7GMWEruq6hXDbnYlM3f/e73+Wcc85h06ZNPPnkk+zdu9f3Mz179mz7uaSkxHeLy3SOyURdXV1bvp9vfOMbTJ8+nY0bN/LAAw8E1jPd40QK1ZTKCuZcPIKK8jIML/fP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\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "model.weights"
      ],
      "metadata": {
        "id": "bN433O3bCVmH",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "1d68aebf-11f7-4c22-f056-df9918f7762c"
      },
      "execution_count": 9,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "[<tf.Variable 'dense/kernel:0' shape=(1, 1) dtype=float32, numpy=array([[0.7827941]], dtype=float32)>,\n",
              " <tf.Variable 'dense/bias:0' shape=(1,) dtype=float32, numpy=array([0.07712875], dtype=float32)>]"
            ]
          },
          "metadata": {},
          "execution_count": 9
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "nb22K749kzVK"
      },
      "execution_count": null,
      "outputs": []
    }
  ]
}